package com.jinxin.platform.cddatadict.service;

import com.jinxin.platform.base.common.pojo.JsonResult;
import com.jinxin.platform.cddatadict.pojo.domains.DataDictItem;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

public interface SysDictItemService {
    int insert(DataDictItem dataDictItem);

    /**
     * 根据主键修改数据持久化对象
     *
     * @param dataDictItem
     *            要修改的数据持久化对象
     * @return int 返回影响行数
     */
    int updateByKey(DataDictItem dataDictItem);

    /**
     * 根据主键查询并返回数据持久化对象
     *
     * @return AmibaDictItem
     */
    DataDictItem selectByKey(@Param(value = "id") String id);

    /**
     * 根据唯一组合条件查询并返回数据持久化对象
     *
     * @return AmibaDictItem
     */
    DataDictItem selectOne(HashMap param);

    /**
     * 根据param查询并返回数据持久化对象集合
     *
     * @return List<AmibaDictItem>
     */
    List<DataDictItem> list(HashMap param);

    /**
     * 返回分页数据持久化对象集合
     *
     * @return List<AmibaDictItem>
     */
    List<DataDictItem> listPage(HashMap param);
    /**
     * 返回分页数据总数
     *
     * @return
     */
    int listPageCount(HashMap param);

    /**
     * 根据主键删除数据持久化对象
     *
     * @return 影响行数
     */
    int deleteByKey(@Param(value = "id") String id);

    JsonResult batchDelItem(List<DataDictItem> records);
}
